export default {
  name: 'router-view',
  functional: true, //函数式组件  消耗低  没有生命周期 状态 this
  // 函数式 组件会给你一个 context 
  render(h, context) {
    //  matched 有匹配到的信心  一次将他赋予到对应的  router-view 上面
    let {parent, data} = context
    
    let route = parent.$route;
    let depth = 0;

    data.routerView = true
    // 这个是 层级增加
    while(parent) {
      if(parent.$vnode && parent.$vnode.data.routerView) {
        depth++
      }
      parent = parent.$parent
    }
    
    let record = route.matched[depth]
    if(!record) {
      return h(); // 渲染一个空元素
    }
    return h(record.component, data)
  }
}